[Fixes #14095] Upload thumbnails through the UI for the remote spatial datasets#14096
[Fixes #14095] Upload thumbnails through the UI for the remote spatial datasets#14096
Conversation
There was a problem hiding this comment.
Code Review
This pull request updates the set_thumbnail method in geonode/resource/manager.py to allow thumbnail assignment when a thumbnail is explicitly provided, regardless of the resource's default capabilities. The review feedback suggests refining the conditional logic to better handle falsy thumbnail values and avoid unintended automatic generation for resources that do not support it.
| ) -> bool: | ||
| _resource = instance or BaseResourceManager._get_instance(uuid) | ||
| if _resource and _resource.can_have_thumbnail: | ||
| if _resource and (thumbnail or _resource.can_have_thumbnail): |
There was a problem hiding this comment.
@sijandh35 although the fix works fine, we could further improve the code in terms of sustainability and readability.
At first I would rename the property from can_have_thumbnail to the can_set_thumbnail and I would move the logic there as below:
def can_set_thumbnail(self, thumbnail_data=None):
"""
a simple description
"""
if thumbnail_data:
return True
# a comment for clarification
return self.subtype not in {"3dtiles", "cog", "flatgeobuf"}and then in the manager we could simply have:
if _resource and _resource.can_set_thumbnail(thumbnail):As I saw the property can_have_thumbnail is used only in this part.
…format * commit 'f8e9fb4585129ad4e028ede61e55e468575207c2': (34 commits) Fix formatting Merge commit from fork [Fixes GeoNode#13939] Add support for non-spatial datasets in CSV format in GeoNode (GeoNode#13900) build(deps): bump cryptography from 46.0.5 to 46.0.7 (GeoNode#14116) Add resourcehandlerinfo creation management command (GeoNode#14118) build(deps): update jwcrypto requirement from >=1.5.6 to >=1.5.7 (GeoNode#14127) build(deps-dev): update pip requirement from >=19.1 to >=26.0.1 (GeoNode#14125) [Fixes GeoNode#14095] Upload thumbnails through the UI for the remote spatial datasets (GeoNode#14096) build(deps): bump python-calamine from 0.6.1 to 0.6.2 (GeoNode#14102) build(deps): bump django from 5.2.12 to 5.2.13 (GeoNode#14115) [Fixes GeoNode#14111] Fix Harvester lookup failure caused by trailing ? during the remote resource upload through the API (GeoNode#14112) updated folder for RTD [Fixes GeoNode#14097] Label thesaurus is not reloaded on thesaurus changes (GeoNode#14098) [Fixes GeoNode#14109] Fixes Dataset creation from JSON Schema fails for LineString (GeoNode#14110) Renamed docs folder [Fixes GeoNode#14035] Implementation of a common ResourceManager base class for all resource types (GeoNode#14053) moving the example in the end of this section adding docs for the social account group sync [Fixes GeoNode#14042] deprecate overwrite_existing_layers in favor of action… (GeoNode#14043) [Fixes GeoNode#13936] Support for XLSX File Uploads in GeoNode (GeoNode#13937) ...
Fixes #14095
Checklist
For all pull requests:
The following are required only for core and extension modules (they are welcomed, but not required, for contrib modules):
Submitting the PR does not require you to check all items, but by the time it gets merged, they should be either satisfied or inapplicable.